Systems and methods for pairing devices using visual recognition

ABSTRACT

The present disclosure is directed at pairing a host electronic device with a peripheral electronic device using visual recognition and deep learning techniques. In particular, the host device may receive an indication of a peripheral device via a camera or as a result of searching for the peripheral device (e.g., due startup of a related application or periodic scanning). The host device may also receive an image of the peripheral device (e.g., captured via the camera, and determine a visual distance to the peripheral device based on the image. The host device may also determine a signal strength of the peripheral device, and determine a signal distance to the peripheral device based on the signal strength. The host device may pair with the peripheral device if the visual distance and the signal distance are approximately equal.

BACKGROUND

This disclosure relates generally to pairing a peripheral electronicdevice to a host electronic device.

This section is intended to introduce the reader to various aspects ofart that may be related to aspects of the present disclosure, which aredescribed and/or claimed below. This discussion is believed to behelpful in providing the reader with background information tofacilitate a better understanding of the various aspects of the presentdisclosure. Accordingly, it may be understood that these statements areto be read in this light, and not as admissions of prior art.

Over the last few years, wireless peripheral devices have gainedpopularity and spread all across user homes. These peripheral devicesmay include small devices to bigger mainstream home appliances. Besidesearphones, various other devices like virtual reality peripherals,mousing devices, keyboards, smart home devices, and many more are partof our daily life. However, despite such ubiquitous popularity, theprocess of pairing the peripheral devices, for example, a smartphonewith wireless headphones, is not standardized and often requirespressing certain buttons for a certain time in a certain order, and mayrequire an unnecessary look into the user manual.

SUMMARY

A summary of certain embodiments disclosed herein is set forth below. Itshould be understood that these aspects are presented merely to providethe reader with a brief summary of these certain embodiments and thatthese aspects are not intended to limit the scope of this disclosure.Indeed, this disclosure may encompass a variety of aspects that may notbe set forth below.

The present disclosure describes systems and methods for pairing aperipheral electronic device to a host electronic device using visualrecognition and/or machine learning (e.g., deep learning). Inparticular, the host device may receive an indication of a peripheraldevice via a sensor (e.g., a camera) or as a result of searching for theperipheral device (e.g., due startup of a related application orperiodic scanning). The host device may also receive an image of theperipheral device (e.g., captured via the sensor), and determine avisual distance to the peripheral device based on the image. The hostdevice may also determine a signal strength of the peripheral device,and determine a signal distance to the peripheral device based on thesignal strength. The host device may pair the peripheral device to thehost device if the visual distance and the signal distance areapproximately equal.

Various refinements of the features noted above may exist in relation tovarious aspects of the present disclosure. Further features may also beincorporated in these various aspects as well. These refinements andadditional features may exist individually or in any combination. Forinstance, various features discussed below in relation to one or more ofthe illustrated embodiments may be incorporated into any of theabove-described aspects of the present disclosure alone or in anycombination. Again, the brief summary presented above is intended onlyto familiarize the reader with certain aspects and contexts ofembodiments of the present disclosure without limitation to the claimedsubject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Various aspects of this disclosure may be better understood upon readingthe following detailed description and upon reference to the drawings inwhich:

FIG. 1 is a block diagram of a peripheral device pairing system that mayuse visual recognition and/or machine learning, according to embodimentsof the present disclosure;

FIG. 2 is a flowchart illustrating a process for pairing a host deviceof FIG. 1 with a peripheral device, according to embodiments of thepresent disclosure;

FIG. 3 is a perspective diagram of the host device of FIG. 1 displayinga prompt asking a user whether to pair with a peripheral device,according to embodiments of the present disclosure;

FIG. 4 is a perspective diagram of the host device of FIG. 1 determiningvisual and signal distances to a peripheral device, according toembodiments of the present disclosure;

FIG. 5 is a perspective diagram of the host device of FIG. 1 completinga pairing process with a peripheral device, according to embodiments ofthe present disclosure;

FIG. 6 is a perspective diagram of the host device of FIG. 1 focusing ona speaker peripheral device instead of a keyboard peripheral device,according to embodiments of the present disclosure;

FIG. 7 is a perspective diagram of the host device of FIG. 1 capturingan image of both the speaker peripheral device and the keyboardperipheral device of FIG. 6, according to embodiments of the presentdisclosure;

FIG. 8 is a perspective diagram of the host device of FIG. 1 capturingan image of a user wearing a peripheral device, according to embodimentsof the present disclosure; and

FIG. 9 is a perspective diagram of an example host device capturing animage of a peripheral device to be paired with, according to embodimentsof the present disclosure.

DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS

One or more specific embodiments will be described below. In an effortto provide a concise description of these embodiments, not all featuresof an actual implementation are described in the specification. It maybe appreciated that in the development of any such actualimplementation, as in any engineering or design project, numerousimplementation-specific decisions must be made to achieve thedevelopers' specific goals, such as compliance with system-related andbusiness-related constraints, which may vary from one implementation toanother. Moreover, it may be appreciated that such a development effortmight be complex and time consuming, but would nevertheless be a routineundertaking of design, fabrication, and manufacture for those ofordinary skill having the benefit of this disclosure.

A wireless peripheral electronic device (e.g., a set of earphones,headphones, speakers, a keyboard, mousing device, car stereo, printer,webcam, or smart home device) may be paired to a host electronic device(e.g., a smartphone, wearable device, virtual reality or mixed realityheadset, tablet, desktop computer, laptop computer, or other computingdevice) to enable the host device to control and use the peripheraldevice. To pair the peripheral device, a user often manually places boththe peripheral device and the host device in respective pairing modes.For example, the user may navigate through a configuration menu on thehost device to place the host device in a pairing mode. The host devicemay then search for pairable devices. The user may also depress a buttonof the peripheral device for three seconds to place the peripheraldevice in a pairing mode. Once the host device discovers the peripheraldevice, the user may often manually select the peripheral device from alist of devices, and then confirm that the peripheral device is thedevice the user desires to be paired to the host device. Once confirmed,the host device may finally pair to the peripheral device.

In some cases, the pairing may be performed by placing the host devicein a passcode entry mode to enter a passcode associated with theperipheral device, in a scanning mode to scan a QR code on theperipheral device with a camera of the host device, or in a networkdiscovery mode to discover the peripheral device via connectivity of theperipheral device to a network. However, in each case, a user mayperform additional actions to complete the pairing.

The present disclosure describes systems and methods for pairing aperipheral electronic device to a host electronic device using visualrecognition and/or machine learning (e.g., deep learning). Inparticular, the host device may receive an indication of a peripheraldevice via a sensor (e.g., a camera) or as a result of searching for theperipheral device (e.g., due startup of a related application orperiodic scanning). The host device may also receive an image of theperipheral device (e.g., captured via the sensor), and determine avisual distance to the peripheral device based on the image. The hostdevice may also determine a signal strength of the peripheral device,and determine a signal distance to the peripheral device based on thesignal strength. The host device may pair the peripheral device to thehost device if the visual distance and the signal distance areapproximately equal.

In some cases, there may be other peripheral devices within a searchingradius of the host device. As such, the host device may determine thatit is not a user's intention to pair these other peripheral devices asthe signal distances of these other devices do not approximately matchthe visual distance of the peripheral device. Moreover, there may betimes that the image of the peripheral device also includes otherperipheral devices. The host device may employ any suitable techniques,including deep learning, to determine the peripheral device that theuser intends to pair with. For example, the host device may determinewhether any of the peripheral devices have been paired with before, andpair with the peripheral device that has been paired with before. Thehost device may additionally or alternatively determine or receiveindications of how the peripheral device may be used (e.g., via opensoftware applications or a most recently used software application onthe host device or via the image showing the peripheral devices), andpair with the peripheral device based on the indications. In someembodiments, the host device may use a weighting or confidence factorsystem to determine which peripheral device to pair with based on, forexample, the distance to the peripheral device, history and/or frequencyof pairing with the peripheral device, indications of how the peripheraldevice may be used, or any other suitable factor.

With the foregoing in mind, FIG. 1 is a block diagram of a peripheraldevice pairing system 10 that may use visual recognition and deeplearning, according to embodiments of the present disclosure. The system10 includes a host device 12 that may be paired with a peripheral device14. The host device 12 may include any suitable electronic device thatmay be paired with the peripheral device 14, such as a cell phone,smartphone, wearable device, virtual reality or mixed reality headset,tablet, desktop computer, laptop computer, or any other suitablecomputing device. The peripheral device 14 may include any suitableelectronic device that may be paired with the host device 12, such as aset of earphones, headphones, speakers, a keyboard, mousing device, carstereo, printer, webcam, smart home device, or any other suitableelectronic device.

The host device 12 may include a controller 16 that facilitates pairingwith the peripheral device 14. The controller 16 may include one or moreprocessors 18 (e.g., processing circuitry) and one or more memorydevices 20 (which may include one or more storage devices). Theprocessor 18 may execute software programs and/or instructions tofacilitate pairing with the peripheral device 14. Moreover, theprocessor 18 may include multiple microprocessors, one or moreapplication specific integrated circuits (ASICS), and/or one or morereduced instruction set (RISC) processors. The memory device 20 maystore machine-readable and/or processor-executable instructions (e.g.,firmware or software) for the processor 18 to execute, such asinstructions that facilitate pairing with the peripheral device 14. Assuch, the memory device 20 may store, for example, control software,look up tables, configuration data, and so forth, to facilitate pairingwith the peripheral device 14. In one embodiment, the processor 18 andthe memory device 20 may be external to the controller 16. The memorydevice 20 may include a tangible, non-transitory,machine-readable-medium, such as a volatile memory (e.g., a randomaccess memory (RAM)) and/or a nonvolatile memory (e.g., a read-onlymemory (ROM), flash memory, hard drive, and/or any other suitableoptical, magnetic, or solid-state storage medium).

The controller 16 may receive image data from a sensor 22 of the hostdevice 12. The sensor 22 may be a visual sensor that detects and/orcaptures images or videos of the peripheral device 14, and send theimages or videos to the controller 16 as image data. In someembodiments, the visual sensor 22 may be a camera, such as a monocular,stereoscopic, or depth camera, or other suitable image capture device.

The system 10 may include an object recognition engine 24 thatidentifies the peripheral device 14 in the image data using image/objectrecognition techniques. For example, the object recognition engine 24may use object recognition techniques to determine that the peripheraldevice 14 in the image data is a set of earphones, headphones, speakers,a keyboard, mousing device, car stereo, printer, webcam, or smart homedevice. The object recognition engine 24 may also use object recognitiontechniques to determine that other objects in the image data are notperipheral devices that may be paired with the host device 12 (such ascoffee cups, pencils, paper, or the like). The object recognition engine24 may send indications of objects recognized in the image data to thecontroller 16, which may then associate the peripheral device 14 with anidentified object. The controller 16 may then determine a distance to(or depth of) the peripheral device 14 in the image data using imagedistance determination techniques.

The controller 16 may also include a receiver 26 and antenna 28 thatenable receiving information from the peripheral device 14. The receiver26 and the antenna 28 may operate using any suitable wirelesscommunication protocol used to pair devices, such as Bluetooth,Bluetooth Low Energy (BLE), WiFi, WiMax, or ZigBee. For example, theantenna 28 may receive information related to a distance to theperipheral device 14 or information that may be used to determine thedistance to the peripheral device 14. That is, the antenna 28 mayreceive a radio signal sent from the peripheral device 14, and thereceiver 26 and/or the controller 16 may determine an indication ofpower present in the radio signal, such as a measurement or value of thepower present in the radio signal. The receiver 26 may then send themeasurement or value of the power present in the radio signal to thecontroller 16. In some embodiments, the measurement or value of thepower present in the radio signal may be a Received Signal StrengthIndicator (RSSI) value.

The controller 16 may then convert the RSSI value of the peripheraldevice 14 to a distance value to determine a distance from the hostdevice 12 to the peripheral device 14. For example, the controller 16may use the following equation that relates distance (d) and RSSI:

d=10^([(P) ⁰ ^(F) ^(−P) ^(r) ^(−10×n×log) ¹⁰^((f)+30×n−32.44)/10×n])  (1)

where:

-   -   F_(m)=Fade margin    -   n=Path-Loss Exponent    -   P₀=Signal power (dBm) at zero distance    -   P_(r)=Signal power (dBm) at distance    -   f=signal frequency in MHz

The host device 12 may also include a deep learning engine 30 thatfacilitates determining the peripheral device 14 to pair with. The deeplearning engine 30 may use any suitable machine learning techniques orarchitecture, such as deep neural networks, deep belief networks orrecurrent neural networks. For example, the host device 12 may determinethere are multiple peripheral devices 14 that may be paired with (e.g.,that are at approximately the same distance away from the host device12). The deep learning engine 30 may determine whether each peripheraldevice 14 has been paired before (e.g., based on a stored list ofdevices that have been paired with the host device 12), and determinethat the peripheral device 14 that has been paired with more frequentlyand/or more recently is more likely the peripheral device 14 a userdesires to pair with the host device 12.

The deep learning engine 30 may alternatively or additionally determineor receive one or more indications of how the peripheral device may beused (e.g., via open software applications or a most recently usedsoftware application on the host device 12 or via the image showing theperipheral devices), and determine that the peripheral device 14 that isassociated with such indications is more likely the peripheral device 14that a user desires to pair with the host device 12. For example, thedeep learning engine 30 may determine that a word processing, email,messaging, or other software application is an open, recently opened,recently used, or most recently used software application on the hostdevice 12, and determine that a peripheral device associated with such asoftware application (e.g., a keyboard) is more likely the peripheraldevice 14 that a user desires to pair with the host device 12 than aperipheral device not associated with such an application (e.g., a setof earphones). As another example, the deep learning engine 30 maydetermine that an audio, video, music, movie, television, streaming, orother software application is an open, recently opened, recently used,or most recently used software application on the host device 12, anddetermine that a peripheral device associated with such a softwareapplication (e.g., a set of earphones) is more likely the peripheraldevice 14 that a user desires to pair with the host device 12 than aperipheral device not associated with such an application (e.g., a setof earphones keyboard)

In some embodiments, the deep learning engine 30 may send an indicationof the peripheral device 14 that the deep learning engine 30 determinesa user desires to pair with the host device 12 or that has the highestlikelihood of being the peripheral device 14 that the user desires topair with the host device 12. In some embodiments, the deep learningengine 30 and/or the controller 16 may use a weighting or confidencefactor system to determine which peripheral device to pair with basedon, for example, the distance to the peripheral device, history and/orfrequency of pairing with the peripheral device, indications of how theperipheral device may be used, or any other suitable factor.

The host device 12 may also include a pairing engine 32 that facilitatespairing the host device 12 with the peripheral device 14. In particular,the pairing engine 32 may use the antenna 28, the receiver 26, and/orany other components of the host device 12 (e.g., such as atransmitter), as well as components of the peripheral device (e.g., anantenna, a receiver, and/or a transmitter) to pair the host device 12with the peripheral device 14.

It should be understood that the term “engine” as used herein mayinclude and/or be implemented in hardware (e.g., circuitry), software(e.g., instructions for execution by a processor), or a combination ofthe two. Moreover, in additional or alternative embodiments, each or anyof the object recognition engine 24, the deep learning engine 30, andthe pairing engine 32 may be part of and internal to the controller 16(e.g., in the form of circuitry of the processor 18 and/or softwareinstructions stored in the memory device 20).

FIG. 2 is a flowchart illustrating a process 40 for pairing the hostdevice 12 of FIG. 1 with the peripheral device 14, according toembodiments of the present disclosure. While the process 40 is describedas being performed by the processor 18, it should be understood that theprocess 40 may be performed by any suitable device that may pair withthe peripheral device 14. Furthermore, while the process 40 is describedusing steps in a specific sequence, it should be understood that thepresent disclosure contemplates that the described steps may beperformed in different sequences than the sequence illustrated, andcertain described steps may be skipped or not performed altogether. Insome embodiments, the process 40 may be implemented by executinginstructions stored in a tangible, non-transitory, computer-readablemedium, such as the memory device 20, using any suitable processingcircuitry, such as the processor 18.

As illustrated, in process block 42, the processor 18 receives anindication of a peripheral device 14. In some cases, the visual sensor22 (e.g., camera) of the host device 12 may be activated. For example, acamera or image capture software application on the host device 12 maybe open. The visual sensor 22 may capture an image of the peripheraldevice 14, and send it to the processor 18, which may identify theperipheral device 14 using the object recognition engine 24.

In additional or alternative embodiments, a software application on thehost device 12 associated with a peripheral device 14 may be opened,which may cause the visual sensor 22 to search for the peripheral device14. For example, a user may open a word processing, email, messaging, orother software application associated with a keyboard or mousing device,and, as a result, the processor 18 may automatically search for thekeyboard or mousing device. Similarly, the user may open an audio,video, music, movie, television, streaming, or other softwareapplication associated with a set of earphones, headphones, speakers, orcar stereo, and, as a result, the processor 18 may automatically searchfor the set of earphones, headphones, speakers, or car stereo.

The processor 18 may also or alternatively periodically (e.g., every 30seconds, every minute, or any other suitable period of time) search forperipheral devices 14. In one embodiment, the processor 18 mayautomatically search for peripheral devices 14 when a user places thehost device 12 in a pairing mode and/or opens a configuration menuassociated with pairing peripheral devices 14. For the processor 18 toreceive the indication of the peripheral device 14, the peripheraldevice 14 may be activated and/or in a pairing mode. In such cases, anindicator 72 (e.g., a light or light-emitting diode (LED)) may indicatethat the peripheral device 14 is in the pairing mode (e.g., theindicator 72 may blink).

In some embodiments, the processor 18 may display a prompt that asks auser whether to pair with the peripheral device 14. For example, FIG. 3is a perspective diagram of the host device 12 of FIG. 1 displaying aprompt 70 asking a user whether to pair with the peripheral device 14(e.g., a headset), according to embodiments of the present disclosure.The prompt 70 may be displayed on a display 68 of the host device 12 asa result of the processor 18 receiving an indication of a peripheraldevice 14.

In process block 44, the processor 18 receives an image of theperipheral device 14. That is, the visual sensor 22 may automaticallycapture an image of the peripheral device 14 in response to receivingthe indication of the peripheral device 14 from process block 42.

In process block 46, the processor 18 determines a visual distance tothe peripheral device 14 based on the image. For example, the processor18 may determine a distance to (or depth of) the peripheral device 14 inthe image data from the host device 12 using image distancedetermination techniques. It should be understood that the processor 18may, in some embodiments, use any suitable software application orsoftware applications, such as a third party distance-determiningsoftware application, to determine the distance to the peripheral device14. For example, the processor 18 may execute instructions of a thirdparty software application (e.g., stored in the memory device 20) tocapture an image of the peripheral device 14 and/or determine a distanceto the peripheral device 14 capture in the image.

While the present disclosure discusses using a visual sensor 22 tocapture the image of the peripheral device 14, and the processor 28determining a visual distance to the peripheral device 14, it should beunderstood that any suitable distance-determining technique may be usedto determine the distance (e.g., a visual distance) to the peripheraldevice 14. That is, in some embodiments, non-visual sensors may be usedto determine the distance to the peripheral device 14. The non-visualsensors may include, for example, audio sensors, infrared sensors, sonarsensors, laser sensors, ultrasonic sensors, and the like. As an example,an ultrasonic sensor may be used to determine the distance to aperipheral device 14 by using a transducer to send an ultrasonic pulseto the peripheral device 14 and determine the distance to the peripheraldevice 14 based on receiving a returning ultrasonic pulse.

In process block 48, the processor 18 determines or receives a signalstrength of the peripheral device 14. In particular, the receiver 26 andantenna 28 of the host device 12 may receive and/or determine anindication of power present in a radio signal sent from the peripheraldevice 14, and the receiver 26 and/or the processor 18 may determine ameasurement or value of the power present in the radio signal. In someembodiments, the measurement or value of the power present in the radiosignal may be a Received Signal Strength Indicator (RSSI) value.

In process block 50, the processor 18 determines a signal distance tothe peripheral device 14 based on the signal strength. In particular,the processor 18 may convert a measurement or value of the power presentin the radio signal to a distance associated with the peripheral device14. For example, when the measurement or value of the power present inthe radio signal is an RSSI value, the processor 18 may use Equation 1above to convert the RSSI value to the signal distance.

In decision block 52, the processor 18 determines whether the visualdistance and the signal distance are approximately equal. For instance,the processor 18 may determine the visual distance and the signaldistance are approximately equal when the visual distance and the signaldistance are within a suitable margin of error (e.g., 2%, 5%, 10%, orthe like).

For example, FIG. 4 is a perspective diagram of the host device 12 ofFIG. 1 determining visual and signal distances to the peripheral device14, according to embodiments of the present disclosure. As illustrated,a user directs or focuses the visual sensor 22 (e.g., camera) of thehost device 12 at the peripheral device 14, such that the peripheraldevice 14 is displayed on a display 68 of the host device 12. Theprocessor 18 may determine the visual distance 80 to the peripheraldevice 14 (e.g., from the image data using image distance determinationtechniques) and the signal distance 82 to the peripheral device 14(e.g., based on an RSSI value 84 of the peripheral device 14).

If the processor 18 determines that the visual distance and the signaldistance are approximately equal, in process block 54, the processor 18pairs the peripheral device 14. In some embodiments, the processor 18may confirm with the user that the peripheral device 14 should be pairedwith the host device 12 (e.g., for security or privacy reasons).

If the processor 18 determines that the visual distance and the signaldistance are not approximately equal, in process block 56, the processor18 does not pair the peripheral device 14. In some embodiments, if theprocessor 18 does not pair the peripheral device 14, the user may stillpair the peripheral device 14 to the host device 12 conventionally(e.g., by navigating through a configuration menu on the host device12). Keeping the foregoing in mind, FIG. 5 is a perspective diagram ofthe host device 12 of FIG. 1 completing the pairing process with theperipheral device 14, according to embodiments of the presentdisclosure. As illustrated, the processor 18 may display a prompt 92 toindicate to the user that the peripheral device 14 is paired. In thismanner, the process 40 enables pairing the host device 12 with theperipheral device 14.

In some embodiments, there may be additional peripheral devices within asearch radius of the host device 12, such that searching for pairableperipheral devices may result in finding these additional peripheraldevices. For example, FIG. 4 illustrates a keyboard peripheral device 86that may be pairable with the host device 12. That is, the keyboardperipheral device 86 may, like the headset peripheral device 14, emit aradio signal with an RSSI value 88. As such, the processor 18 may alsodetermine a signal distance 90 to the keyboard peripheral device 86based on the RSSI value 88 of the keyboard peripheral device 86.However, because the user directs or focuses the visual sensor 22 (e.g.,camera) of the host device 12 at the headset peripheral device 14, thevisual distance 80 to the headset peripheral device 14 may notapproximately equal the signal distance 90 to the keyboard peripheraldevice 86, and thus the processor 18 may not pair the keyboardperipheral device 86.

In some cases, there may be multiple peripheral devices at approximatelythe same distance from the host device 12. As such, the processor 18 maydetermine the identity of the peripheral device 14 (e.g., using theobject recognition engine 24) to determine the peripheral device 14 topair with. For example, FIG. 6 is a perspective diagram of the hostdevice 12 of FIG. 1 focusing on a speaker peripheral device 100 insteadof a keyboard peripheral device 102, according to embodiments of thepresent disclosure. As illustrated, the peripheral devices 100, 102 mayboth be approximately the same visual distance (e.g., 104) from the hostdevice 12 (as perceived by the visual sensor 22 of the host device 12).Moreover, the peripheral devices 100, 102 may both be approximately thesame signal distance (e.g., 106, 108, respectively) from the host device12 (based on respective RSSI values 110, 112 of the peripheral devices100, 102). However, because the user directs or focuses the visualsensor 22 of the host device 12 at the speaker peripheral device 100 asshown in FIG. 6, the processor 18 may identify the peripheral devicethat the user desires to pair as the speaker peripheral device 100. Assuch, the processor 18 may pair with the speaker peripheral device 100(e.g., in process block 54).

There may be circumstances where more than one pairable device is shownin the image captured by the visual sensor 22. For example, in FIG. 7 isa perspective diagram of the host device 12 of FIG. 1 capturing an imageof both the speaker peripheral device 100 and the keyboard peripheraldevice 102 of FIG. 6, according to embodiments of the presentdisclosure. In such a case, the deep learning engine 30 may determinewhether each of the peripheral devices 100, 102 has been paired before(e.g., based on a stored list of devices that have been paired with thehost device 12), and determine that the peripheral device that has beenpaired with more frequently and/or more recently is more likely theperipheral device a user desires to pair with the host device 12.

Additionally or alternatively, the processor 18 may use the deeplearning engine 30 to determine or receive indications of how theperipheral device desired to be paired with may be used (e.g., via opensoftware applications or a most recently used software application onthe host device 12 or via the image showing the peripheral devices), anddetermine that the peripheral device that is associated with suchindications is more likely the peripheral device that a user desires topair with the host device 12. For example, the deep learning engine 30may determine that a word processing, email, messaging, or othersoftware application is an open, recently opened, recently used, or mostrecently used software application on the host device 12, and determinethat the keyboard peripheral device 102 is associated with such asoftware application, and thus is more likely the peripheral device thatthe user desires to pair with the host device 12 than the speakerperipheral device 100. As another example, the deep learning engine 30may determine that an audio, video, music, movie, television, streaming,or other software application is an open, recently opened, recentlyused, or most recently used software application on the host device 12,and determine that the speaker peripheral device 100 is associated withsuch a software application, and thus is more likely the peripheraldevice that the user desires to pair with the host device 12 than thekeyboard peripheral device 102.

In some embodiments, the indications of how the peripheral device may beused may be provided in the image data captured by the visual sensor 22.For example, one indication may be a proximity of the peripheral deviceto the user, such as if the user is wearing or holding the peripheraldevice. As an example, FIG. 8 is a perspective diagram of the hostdevice 12 of FIG. 1 capturing an image of a user wearing a peripheraldevice 120 (e.g., a headset), according to embodiments of the presentdisclosure. In this case, the host device 12 uses a rear-facing oruser-facing visual sensor 22 (e.g., a camera). The processor 18 maydetermine that the user is wearing the peripheral device 120 using theobject recognition engine 24. Using the deep learning engine 30, theprocessor 18 may determine that, because the user is wearing theperipheral device 120, even if there are other pairable peripheraldevices nearby, if the peripheral device 120 is unpaired, the userdesires to pair the host device 12 with the peripheral device 120. Assuch, the processor 18 may pair the peripheral device 120 with the hostdevice 12.

Similarly, FIG. 9 is a perspective diagram of an example host device 130capturing an image of a peripheral device 132 (e.g., a wrist controller)to be paired with, according to embodiments of the present disclosure.In this case, the host device 130 is a virtual reality or mixed realityheadset. As illustrated, the user directs his focus (and the focus of avisual sensor 22 or camera) to the peripheral device 132. The processor18 of the host device 130 may determine that the user is holding theperipheral device 132 using the object recognition engine 24. Using thedeep learning engine 30, the processor 18 may determine that, becausethe user is holding the peripheral device 132, even if there are otherpairable peripheral devices nearby, if the peripheral device 132 isunpaired, the user desires to pair the host device 130 with theperipheral device 132. As such, the processor 18 may pair the peripheraldevice 132 with the host device 130. It should be understood that theperipheral device 132 may include any suitable peripheral devices,including any suitable virtual reality or mixed reality peripheraldevices, such as virtual reality or mixed reality input controllers,handheld units, and/or gloves (e.g., any of which may include inputdevices such as track pads, buttons, triggers, analog sticks, and/or thelike).

The processor 18 may also or alternatively enable a user to provide anindication of the peripheral device that the user desires to pair withthe host device 12. For example, the processor 18 may enable the user topoint at, snap his or her fingers at, draw a circle around, or performany other suitable indicating gesture at the peripheral device the userdesires to pair with the host device 12. As illustrated in FIG. 7, theuser points his or her fingers at the speaker peripheral device 100,indicating that the speaker peripheral device 100 is the peripheraldevice he or she desires to be paired with the host device 12. As such,the processor 18 may pair the speaker peripheral device 100 with thehost device 12.

In some cases, where the indication of the peripheral device 14 isreceived based on activating and/or placing the peripheral device 14 ina pairing mode, the processor 18 may receive an identifier of theperipheral device 14. The identifier may include device specificcharacteristics, such as a device manufacturer, a device type, a devicemodel, or the like. The processor 18 may determine the device specificcharacteristics, which may be used to, for example, identify theperipheral device 14 among additional peripheral devices in the image ofthe peripheral device 14.

In some embodiments, the deep learning engine 30 and/or the processor 18may use a weighting or confidence factor system to determine whichperipheral device to pair with based on, for example, the distance tothe peripheral device, history and/or frequency of pairing with theperipheral device, indications of how the peripheral device may be used,or any other suitable factor.

In some circumstances, the processor 18 may receive the indication ofthe peripheral device 14, but the peripheral device 14 may not be inview. That is, the visual sensor 22 (e.g., camera) of the host device 12at the peripheral device 14 may not detect the peripheral device 14, andas such may not display the peripheral device 14 on the display 68 ofthe host device 12. In some embodiments, the processor 18 may determinean approximate location of the peripheral device 14 based on receivingthe indication of power present in the radio signal sent from theperipheral device 14 and/or determining the measurement or value of thepower present in the radio signal. The processor 18 may then indicatethe approximate location of the peripheral device 14. For example, theprocessor 18 may display an arrow directed at or a box surrounding theapproximate location of the peripheral device 14 on the display 68.

In some embodiments, the host device 12 may include a device usable bymultiple users, such as a music, video, or other media streaming deviceprovided by a service, and the peripheral device 14 may include asmartphone, wearable device, laptop computer, or other computing deviceof a user. For example, the host device 12 may be a public streamingdevice (e.g., in an airport, library, museum, or any other suitablepublic facility). The host device 12 may include or be coupled to avisual sensor (e.g., camera) that may receive the indication of theperipheral device 14 (e.g., by having the user hold and/or point to theperipheral device 14). For example, the visual sensor may be associatedwith a sign, graphic, or other indication that indicates that usersinterested in the streaming service should show hold their peripheraldevice 14 and/or point to the peripheral device 14. Based on performingthe process 40, for example, the processor 18 of the host device 12 maythen pair the peripheral device 14 to the host device 12, thus enablingusers to use the public streaming service.

While the embodiments set forth in the present disclosure may besusceptible to various modifications and alternative forms, specificembodiments have been shown by way of example in the drawings and havebeen described in detail herein. However, it may be understood that thedisclosure is not intended to be limited to the particular formsdisclosed. The disclosure is to cover all modifications, equivalents,and alternatives falling within the spirit and scope of the disclosureas defined by the following appended claims.

The techniques presented and claimed herein are referenced and appliedto material objects and concrete examples of a practical nature thatdemonstrably improve the present technical field and, as such, are notabstract, intangible or purely theoretical. Further, if any claimsappended to the end of this specification contain one or more elementsdesignated as “means for [perform]ing [a function] . . . ” or “step for[perform]ing [a function] . . . ”, it is intended that such elements areto be interpreted under 35 U.S.C. 112(f). However, for any claimscontaining elements designated in any other manner, it is intended thatsuch elements are not to be interpreted under 35 U.S.C. 112(f).

1. A device pairing system comprising: a peripheral device; and a hostdevice comprising: an antenna configured to receive a signal from theperipheral device; a receiver configured to determine a signal strengthfrom the signal; a camera configured to capture an image of theperipheral device; and a controller comprising a processor and at leastone memory, wherein the at least one memory is configured to storeinstructions for pairing the host device with the peripheral device,wherein the processor, in executing the instructions, is configured topair the host device with the peripheral device based on the image ofthe peripheral device and the signal strength of the peripheral device.2. The device pairing system of claim 1, wherein the processor, inexecuting the instructions, is configured to: identify the peripheraldevice based on the image of the peripheral device; and determine avisual distance from the host device to the peripheral device based onthe identity of the peripheral device.
 3. The device pairing system ofclaim 2, wherein the processor, in executing the instructions, isconfigured to determine a signal distance to the peripheral device basedon the signal strength of the peripheral device.
 4. The device pairingsystem of claim 3, wherein the processor, in executing the instructions,is configured to pair the host device with the peripheral device inresponse to the visual distance being approximately equal to the signaldistance of the peripheral device.
 5. The device pairing system of claim1, wherein the peripheral device comprises a set of earphones,headphones, speakers, a keyboard, mousing device, car stereo, printer,webcam, or smart home device.
 6. The device pairing system of claim 1,wherein the host device comprises a cell phone, smartphone, wearabledevice, virtual reality or mixed reality headset, tablet, desktopcomputer, or laptop computer.
 7. The device pairing system of claim 1,wherein the signal strength comprises a Received Signal StrengthIndicator (RSSI) value.
 8. A host device comprising: an antennaconfigured to receive a signal from a peripheral device; a receiverconfigured to determine a signal strength from the signal; a cameraconfigured to capture an image of the peripheral device; and acontroller comprising a processor and at least one memory, wherein theat least one memory is configured to store instructions for pairing thehost device with the peripheral device, wherein the processor, inexecuting the instructions, is configured to: determine a visualdistance to the peripheral device based on the image of the peripheraldevice; determine a signal distance to the peripheral device based onthe signal strength of the peripheral device; and pair the host devicewith the peripheral device in response to the visual distance beingapproximately equal to the signal distance of the peripheral device. 9.The host device of claim 8, wherein the processor, in executing theinstructions, is configured to determine to pair the host device withthe peripheral device based on a pairing history between the host deviceand the peripheral device.
 10. The host device of claim 8, comprising adeep learning engine configured to facilitate determining to pair thehost device with the peripheral device.
 11. The host device of claim 10,wherein the deep learning engine is configured to determine one or moreindications of how the peripheral device is used.
 12. The host device ofclaim 11, wherein the one or more indications are based on an identityof the peripheral device.
 13. The host device of claim 11, wherein theone or more indications are based on an open software application or amost recently used software application of the host device.
 14. The hostdevice of claim 11, wherein the one or more indications are based on aproximity to a user.
 15. The host device of claim 11, wherein the one ormore indications are based on a user wearing or holding the peripheraldevice.
 16. The host device of claim 7, wherein the processor, inexecuting the instructions, is configured to determine to pair the hostdevice with the peripheral device based on a user gesture indicating theperipheral device.
 17. A method for pairing a host device with aperipheral device comprising: receiving an image of the peripheraldevice; determining a visual distance to the peripheral device based onthe image of the peripheral device; determining a signal strength of theperipheral device; determining a signal distance to the peripheraldevice based on the signal strength of the peripheral device; andpairing the host device with the peripheral device in response to thevisual distance being approximately equal to the signal distance of theperipheral device
 18. The method of claim 17, comprising periodicallysearching for the peripheral device, wherein receiving the image of theperipheral device occurs in response to finding the peripheral device.19. The method of claim 17, comprising searching for the peripheraldevice in response to receiving an indication that a softwareapplication associated with the peripheral device was opened on the hostdevice, wherein receiving the image of the peripheral device occurs inresponse to finding the peripheral device.
 20. The method of claim 17,comprising searching for the peripheral device in response to receivingthe image of the peripheral device.